iT邦幫忙

0

leetcode with python:168. Excel Sheet Column Title

  • 分享至 

  • xImage
  •  

題目:

Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.

example:
A -> 1
B -> 2
C -> 3
Z -> 26
AA -> 27
AB -> 28

給定一個數,回傳它在excel表示行數的規則中是如何表示

有點像26進位的fu,但由於沒有0的存在,所以處理方式有點不太一樣

class Solution:
    def convertToTitle(self, columnNumber: int) -> str:
        ans=""
        while columnNumber>0:
            temp=columnNumber%26
            if temp==0:
                temp=26
            ans=chr(64+temp)+ans
            columnNumber=(columnNumber-temp)//26
        return ans

設立一個while迴圈,不斷%26,//26
不過要特別注意當%出來的值為0時其實是代表26(Z)而不是0
所以需要將其轉成26
接著透過ASCII編碼的規則將元素放入欲回傳字串
最後要//26前需減去temp,防範當上一位數為Z時,這位數會多算1(因為Z其實會拿走一個26)
最後執行時間19ms(faster than 99.92%)

那我們下題見


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言